$(function(){
	var ajaxLoader = new Z.AjaxLoader({
		url : Z.url('/image/records'),
		templates : {
			list : $('#list-template'),
			none : $('#none-template').html(),
			methods : {
				substr : function(start,length,string){
					return Z.substr(string, start, length);
				},
				thumbnail : function(name){
					return Z.thumbnailName(name, '150_150');
				}
			}
		},
		containers : {
			list : $('ul.records'),
			pagination : $('div.pagination')
		},
		after : function(){
			new Z.LightBox($('ul.records a.image-container'),function(a){
				return $(a).children('img').attr('src').replace('150_150','');
			});

			Z.alignImage($('ul.records a.image-container img'), 150, 150);

			$('ul.records li').mouseenter(function(){
				$(this).find('div.actions').show();
			});

			$('ul.records li').mouseleave(function(){
				$(this).find('div.actions').hide();
			});
		},
		data : {
			pageSize: 14
		}
	}),
	getId = function(a){
		return Z.parseInt($(a).parent().parent().attr('data'));
	},
	uploadDialog;

	$('a.add-image').click(function(){
		var data = {'action' : 'insert' , 'name' : '','callback' : 'uploadBack','thumbnail_sizes':'150_150'};
		Z.form({
			width   : 600,
			content : $('#form-template').tmpl(data),
			success : function(){
				ajaxLoader.reload();
			},
			'open' : function(dialog){
				uploadDialog = dialog;
			}
		});
		return false;
	});

	$('a.delete').live('click',function(){
		var id = getId($(this));
		Z.confirm({
			'content' : '确定删除吗？',
			'confirm' : function(){
				Z.ajax({
					url : Z.url('/image/delete'),
					data : {'id' : id},
					success : function(){
						ajaxLoader.reload();
					}
				});
			}
		});
		return false;
	});

	$('form.filter').submit(function(){
		ajaxLoader.request({
			'category' : Z.parseInt($(this).find('input[name=category]').val()),
			'label' : $(this).find('input[name=label]').val(),
			'name' : $(this).find('input[name=name]').val(),
			'start' : $(this).find('input[name=start]').val(),
			'end' : $(this).find('input[name=end]').val()
		});
		return false;
	});

	$('select.category').live('change',function(){
		var self = $(this);

		if($(this).val() == '-1'){
			if($(this).prev('select[name^="temp"]').length > 0){
				$(this).parent().prev().val($(this).prev('select[name^="temp"]').val());
			}else{
				$(this).parent().prev().val('-1');
			}
			$(this).next('select[name^=temp]').remove();
			return;
		}else{
			$(this).parent().prev().val($(this).val());
		}

		Z.ajax({
			'url' : Z.url('/image_category/records'),
			'data' : {'parent' : $(this).val()},
			'success' : function(data){
				$(self).next('select[name^=temp]').remove();
				if(data.total > 0){
					var select = ['<select name="temp" class="category">'];
					select.push('<option value="-1">请选择</option>');
					$(data.records).each(function(i,item){
						select.push('<option value="'+item.id+'">'+item.name+'</option>');
					});
					select.push('</select>');
					$(select.join('')).insertAfter(self);
				}
			}
		});
	});

	window.uploadBack = function(status,msg,data){
		switch(status){
			case 'XT001':
				if(msg != ''){
					Z.tip(msg,1.5);
				}
				ajaxLoader.reload();
				uploadDialog.close();
				break;
			case 'XT002':
				Z.alert(msg||'操作失败');
				break;
			case 'XT003':
				Z.alert(msg||'您不具备此操作权限');
				break;
			case 'XT004':
				Z.alert(msg||'请先<a href="'+Z.url('/auth',true)+'">登录</a>');
				break;
			default:
				Z.alert('未知错误!');
				break;
		}
	};

	ajaxLoader.request();
});
